from django.db import models
from django.utils.timezone import now

# Create dataset models here.


class DatasetInfo(models.Model):
    province = models.CharField(max_length=20)  # 省份，假设最长为20个字符
    city = models.CharField(max_length=20)  # 城市，同理

    # 时间字段，由于给出的是日期+时间，可以使用 DateTimeField
    time = models.DateTimeField(default=now)  # 如果时间精确到日，则默认当前日期，也可以改为 DateField

    aqi = models.IntegerField()  # AQI指数，整数
    pm2_5 = models.FloatField()  # PM2.5浓度，浮点数
    pm10 = models.FloatField()
    so2 = models.FloatField()
    no2 = models.FloatField()
    co = models.FloatField()
    o3 = models.FloatField()

    complexindex = models.FloatField(default=0.0)  # 复合指数，浮点数，默认为0.0
    rank = models.IntegerField(default=0)  # 排名，整数，默认为0
    primary_pollutant = models.CharField(max_length=30, blank=True, null=True)  # 主要污染物，文本字段，默认为空

    temp = models.FloatField(default=0.0)  # 温度，浮点数，默认为0.0
    humi = models.FloatField(default=0.0)  # 湿度，浮点数，默认为0.0
    windlevel = models.FloatField(default=0.0)  # 风速，浮点数，默认为0.0
    winddirection = models.CharField(max_length=20, blank=True, null=True)  # 风向，文本字段，默认为空
    weather = models.CharField(max_length=20, blank=True, null=True)  # 天气，默认为空

    class Meta:
        db_table = 't_dataset'
        ordering = ['-time']  # 默认按时间降序排列
        verbose_name = "空气质量记录"
        verbose_name_plural = "空气质量记录"

    def __str__(self):
        return f"{self.province} - {self.city} - {self.time}"

